#pragma once

#include "Drawable.h"

class CDrawList
{
private:
	vector<CDrawable*> m_vObjList;	//vector of all drawable objects
	vector<CDrawable*> m_vObjMarked;		//vector of marked objects - those will be deleted

	int m_iBricksCount;
	int m_iBallsCount;

public:
	CDrawList(void);
	~CDrawList(void);

	int AddObject(CDrawable* pDrawable);
	int MarkObject(CDrawable* pDrawable);
	int RemoveObject(CDrawable* pDrawable){ return MarkObject(pDrawable); } // easier to memorize than markObject

	int GetBrickCount() { return m_iBricksCount; }
	int GetBallCount() { return m_iBallsCount; }

	int RemoveBalls();

	int EnableAll();

	int Clean();	//remove marked entries
	int Empty();	//remove all entries
	int Update();
	int Draw();
	int Size();
};
